#pragma once
#include<vector>
#include "Card.h"
#include<algorithm>
#include<ctime>
#include<iostream>

using namespace std;

class Deck
{
private:
	vector<Card*> deck;
	vector<Card*>::iterator it;

public:

	Deck();
	~Deck();
	void addCard(Card * card);
	void popBackCard();
	void clearDeck();
	vector<Card*>::iterator first();
	vector<Card*>::iterator last();
	void shuffle();
	void removeCard(Card * card);
	Card * getCardAt(unsigned position);
	void printCards(bool symbol, bool suit, bool rank);
	Card removeAndGetCardAt(unsigned position);
	void removeCardAt(unsigned position);
	unsigned int getDeckSize();
};